///******************************************************************************* // * Copyright (c) 2000, 2006 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - initial API and implementation // *******************************************************************************/ //package org.eclipse.ui.tests.multipageeditor; // //import org.eclipse.core.runtime.IProgressMonitor; //import org.eclipse.jface.text.BadLocationException; //import org.eclipse.jface.text.FindReplaceDocumentAdapter; //import org.eclipse.jface.text.IDocument; //import org.eclipse.jface.text.IRegion; //import org.eclipse.swt.SWT; //import org.eclipse.swt.widgets.Composite; //import org.eclipse.swt.widgets.Control; //import org.eclipse.swt.widgets.Label; //import org.eclipse.ui.IEditorPart; //import org.eclipse.ui.PartInitException; //import org.eclipse.ui.editors.text.TextEditor; //import org.eclipse.ui.part.MultiPageEditorPart; //import org.eclipse.ui.texteditor.IDocumentProvider; // ///** // * A MultiPageEditorPart with methods that take a peek at things like selection // * events or selection status or page change events. // * // * @since 3.2 // */ //public class MultiVariablePageEditor extends MultiPageEditorPart { // // private Composite lastPage; // // /** // * Default with 2 pages, although they're on the same editor input and // * they're the TextEditor. // */ // protected void createPages() { // try { // TextEditor section1 = new TextEditor(); // int index = addPage(section1, getEditorInput()); // setPageText(index, section1.getTitle()); // // TextEditor section2 = new TextEditor(); // index = addPage(section2, getEditorInput()); // setPageText(index, section2.getTitle()); // // ContextTextEditor section3 = new ContextTextEditor(); // index = addPage(section3, getEditorInput()); // setPageText(index, section3.getTitle()); // // } catch (PartInitException e) { // throw new RuntimeException(e); // } // } // // public void doSave(IProgressMonitor monitor) { // // do nothing // } // // public void doSaveAs() { // throw new UnsupportedOperationException( // "doSaveAs should not be called."); // } // // /** // * No save as. // * // * @return false // */ // public boolean isSaveAsAllowed() { // return false; // } // // /* // * (non-Javadoc) // * // * @see org.eclipse.ui.part.MultiPageEditorPart#pageChange(int) // */ // protected void pageChange(int newPageIndex) { // super.pageChange(newPageIndex); // IEditorPart part = getEditor(newPageIndex); // if (part instanceof TextEditor) { // TextEditor editor = (TextEditor) part; // IDocumentProvider provider = editor.getDocumentProvider(); // IDocument doc = provider.getDocument(getEditorInput()); // FindReplaceDocumentAdapter find = new FindReplaceDocumentAdapter( // doc); // try { // IRegion region = find.find(0, "#section0" + (newPageIndex + 1), // true, true, false, false); // if (region != null) { // editor.selectAndReveal(region.getOffset(), region // .getLength()); // } // } catch (BadLocationException e) { // System.err.println("Failed to find a section"); // } // } // } // // /** // * Set the active page in this MPEP. Just delegate back to // * setActivePage(int). // * // * @param index // * The page index which must be valid. // */ // public void setPage(int index) { // super.setActivePage(index); // } // // /** // * Add a page with a composite for testing. // * // */ // public void addLastPage() { // lastPage = new Composite(getContainer(), SWT.NONE); // Label l = new Label(lastPage, SWT.SHADOW_IN); // l.setText(getEditorInput().getName()); // addPage(lastPage); // } // // /** // * remove the last page for testing. // * // */ // public void removeLastPage() { // if (getPageCount() > 0) { // removePage(getPageCount() - 1); // } // lastPage = null; // } // // /** // * Get the last page composite for testing. // * // * @return the last page. // */ // public Control getLastPage() { // return lastPage; // } // // /** // * Return the control for testing (like the editor control). // * // * @param index // * the page index to get // * @return the control for that page // */ // public Control getTestControl(int index) { // return getControl(index); // } //}